%token Name
%token String

%define pg.lr.type PSLR

%%

['a'-'z'] => Name
'"' [^ '"']* '"' => String

%%

S:
    decl ';'
    expr ';'

decl:
    type name

type:
    name '<' type '>'
    Name

expr:
    name '>>' name

name:
    Name
